Termination w.r.t. Q of the following Term Rewriting System could be proven:

Q restricted rewrite system:
The TRS R consists of the following rules:

f(f(x, a), y) → f(y, f(x, y))

Q is empty.


QTRS
  ↳ DependencyPairsProof

Q restricted rewrite system:
The TRS R consists of the following rules:

f(f(x, a), y) → f(y, f(x, y))

Q is empty.

Using Dependency Pairs [1,15] we result in the following initial DP problem:
Q DP problem:
The TRS P consists of the following rules:

F(f(x, a), y) → F(x, y)
F(f(x, a), y) → F(y, f(x, y))

The TRS R consists of the following rules:

f(f(x, a), y) → f(y, f(x, y))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

↳ QTRS
  ↳ DependencyPairsProof
QDP
      ↳ ForwardInstantiation

Q DP problem:
The TRS P consists of the following rules:

F(f(x, a), y) → F(x, y)
F(f(x, a), y) → F(y, f(x, y))

The TRS R consists of the following rules:

f(f(x, a), y) → f(y, f(x, y))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule F(f(x, a), y) → F(y, f(x, y)) we obtained the following new rules:

F(f(x0, a), f(y_0, a)) → F(f(y_0, a), f(x0, f(y_0, a)))



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ ForwardInstantiation
QDP
          ↳ ForwardInstantiation

Q DP problem:
The TRS P consists of the following rules:

F(f(x, a), y) → F(x, y)
F(f(x0, a), f(y_0, a)) → F(f(y_0, a), f(x0, f(y_0, a)))

The TRS R consists of the following rules:

f(f(x, a), y) → f(y, f(x, y))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule F(f(x, a), y) → F(x, y) we obtained the following new rules:

F(f(f(y_0, a), a), f(y_1, a)) → F(f(y_0, a), f(y_1, a))
F(f(f(y_0, a), a), x1) → F(f(y_0, a), x1)



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ ForwardInstantiation
        ↳ QDP
          ↳ ForwardInstantiation
QDP
              ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

F(f(f(y_0, a), a), f(y_1, a)) → F(f(y_0, a), f(y_1, a))
F(f(x0, a), f(y_0, a)) → F(f(y_0, a), f(x0, f(y_0, a)))
F(f(f(y_0, a), a), x1) → F(f(y_0, a), x1)

The TRS R consists of the following rules:

f(f(x, a), y) → f(y, f(x, y))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


F(f(x0, a), f(y_0, a)) → F(f(y_0, a), f(x0, f(y_0, a)))
The remaining pairs can at least be oriented weakly.

F(f(f(y_0, a), a), f(y_1, a)) → F(f(y_0, a), f(y_1, a))
F(f(f(y_0, a), a), x1) → F(f(y_0, a), x1)
Used ordering: Matrix interpretation [3]:
Non-tuple symbols:
M( a ) =
/1\
\0/

M( f(x1, x2) ) =
/0\
\0/
+
/00\
\00/
·x1+
/00\
\10/
·x2

Tuple symbols:
M( F(x1, x2) ) = 0+
[0,0]
·x1+
[0,1]
·x2


Matrix type:
We used a basic matrix type which is not further parametrizeable.


As matrix orders are CE-compatible, we used usable rules w.r.t. argument filtering in the order.
The following usable rules [17] were oriented:

f(f(x, a), y) → f(y, f(x, y))



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ ForwardInstantiation
        ↳ QDP
          ↳ ForwardInstantiation
            ↳ QDP
              ↳ QDPOrderProof
QDP
                  ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

F(f(f(y_0, a), a), f(y_1, a)) → F(f(y_0, a), f(y_1, a))
F(f(f(y_0, a), a), x1) → F(f(y_0, a), x1)

The TRS R consists of the following rules:

f(f(x, a), y) → f(y, f(x, y))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: